export default function convertToTree(items) {
  // 创建一个映射，用于快速查找部门
  const map = new Map()
  items.forEach(item => map.set(item.id, item))

  // 构建树形结构的递归函数
  function buildTree(parentId) {
    const result = []
    const children = items.filter(item => item.pid === parentId)
    children.forEach(child => {
      const childTree = buildTree(child.id)
      if (childTree.length > 0) {
        child.children = childTree
      }
      result.push(child)
    })
    return result
  }

  // 从顶级部门（pid为0）开始构建树
  return buildTree(0)
}

// 原始数据
// const departments = [
//   { 'id': 1, 'pid': 0, 'name': '传智教育' },
//   { 'id': 2, 'pid': 1, 'name': '总裁办' },
//   { 'id': 3, 'pid': 1, 'name': '行政部' },
//   { 'id': 4, 'pid': 1, 'name': '人事部' },
//   { 'id': 5, 'pid': 1, 'name': '财务部' },
//   { 'id': 6, 'pid': 1, 'name': '技术部' },
//   { 'id': 7, 'pid': 1, 'name': '运营部' },
//   { 'id': 8, 'pid': 1, 'name': '市场部' },
//   { 'id': 9, 'pid': 4, 'name': '财务核算部' },
//   { 'id': 10, 'pid': 4, 'name': '税务管理部' },
//   { 'id': 11, 'pid': 4, 'name': '薪资管理部' },
//   { 'id': 15, 'pid': 7, 'name': '上海事业部' },
//   { 'id': 16, 'pid': 7, 'name': '北京事业部' }
// ]

// 转换数据
// const tree = convertToTree(departments)

// 打印转换后的树形结构
// console.log(JSON.stringify(tree, null, 2))
